define(() => {
    const env = {
        navigator: {
            version: navigator.appVersion,
            language: navigator.language,
            platform: navigator.platform,
            userAgent: navigator.userAgent,

        },
        window: {
            width: () => window.innerWidth,
            height: () => window.innerHeight,
            title: () => document.title
        }
    };
    const f = data => new Proxy(data, {
        get(target, key) {
            if(_.isFunction(target[key]))
                return target[key]();
            else if(_.isObject(target[key]))
                return f(target[key]);
            else
                return target[key];
        }
    });
    return f(env);
});